<?hh

function g<reify T1, reify T2>() {
  var_dump(HH\ReifiedGenerics\get_type_structure<T1>());
  var_dump(HH\ReifiedGenerics\get_type_structure<T2>());
}

function f<reify T1, reify T2>($x, $y) {
  g<(int, (T1, T2)), T1>();
}

<<__EntryPoint>> function main(): void {
  $f = f<(int, int), int>;
  $f(1, 2);
}
